import {PluginOptions} from 'vite-plugin-dts'

/**
 * 生成 vite 插件 dts 的配置选项，该插件是用于生成 d.ts 文件的插件。生成的默认已有的配置：
 * - entryRoot 入口文件所在根目录，默认为 `'src'`
 * - outDir d.ts 文件输出目录，默认为 `['es', 'lib']`
 *
 * @param {PluginOptions} options vite 插件 dts 的配置选项
 * @returns {PluginOptions} vite 插件 dts 的配置选项
 */
export const genPluginDtsOptions = (options: PluginOptions): PluginOptions => {
  return {
    // 入口文件根路径
    entryRoot: 'src',
    // d.ts 文件输出路径
    outDir: ['es', 'lib'],
    ...options
  }
}

export type GenPluginDtsOptionsType = typeof genPluginDtsOptions
